Implements an IDictionary interface for an in-memory B+Tree
Object Model
Syntax
Type Parameters
Example
Library/Library.Test/TestBTreeDictionary.cs
C# | Copy Code |
---|
BTreeDictionary<int, string> data = new BTreeDictionary<int, string>();
data.Add(1, "a");
data.Add(2, "b");
data.Add(3, "c");
data.Add(4, "d");
data.Add(5, "e");
Assert.AreEqual(1, data.First().Key);
Assert.AreEqual("a", data.First().Value);
data.Remove(1);
Assert.AreEqual(2, data.First().Key);
Assert.AreEqual("b", data.First().Value);
Assert.AreEqual(5, data.Last().Key);
Assert.AreEqual("e", data.Last().Value);
data.Remove(5);
Assert.AreEqual(4, data.Last().Key);
Assert.AreEqual("d", data.Last().Value);
data.Remove(4);
data.Remove(3);
KeyValuePair<int, string> kv;
Assert.IsTrue(data.TryGetLast(out kv));
Assert.IsTrue(data.TryGetFirst(out kv));
data.Remove(2);
Assert.IsFalse(data.TryGetLast(out kv));
Assert.IsFalse(data.TryGetFirst(out kv));
try
{
data.First();
Assert.Fail("Should raise InvalidOperationException");
}
catch (InvalidOperationException)
{
}
try
{
data.Last();
Assert.Fail("Should raise InvalidOperationException");
}
catch (InvalidOperationException)
{
} |
VB.NET | Copy Code |
---|
Dim data As New BTreeDictionary(Of Integer, String)()
data.Add(1, "a")
data.Add(2, "b")
data.Add(3, "c")
data.Add(4, "d")
data.Add(5, "e")
Assert.AreEqual(1, data.First().Key)
Assert.AreEqual("a", data.First().Value)
data.Remove(1)
Assert.AreEqual(2, data.First().Key)
Assert.AreEqual("b", data.First().Value)
Assert.AreEqual(5, data.Last().Key)
Assert.AreEqual("e", data.Last().Value)
data.Remove(5)
Assert.AreEqual(4, data.Last().Key)
Assert.AreEqual("d", data.Last().Value)
data.Remove(4)
data.Remove(3)
Dim kv As KeyValuePair(Of Integer, String)
Assert.IsTrue(data.TryGetLast(kv))
Assert.IsTrue(data.TryGetFirst(kv))
data.Remove(2)
Assert.IsFalse(data.TryGetLast(kv))
Assert.IsFalse(data.TryGetFirst(kv))
Try
data.First()
Assert.Fail("Should raise InvalidOperationException")
Catch generatedExceptionName As InvalidOperationException
End Try
Try
data.Last()
Assert.Fail("Should raise InvalidOperationException")
Catch generatedExceptionName As InvalidOperationException
End Try |
Inheritance Hierarchy
System.Object
CSharpTest.Net.Collections.BTreeDictionary<TKey,TValue>
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
See Also